package top.ddandang.blog.service;

import top.ddandang.blog.model.pojo.Statistics;
import com.baomidou.mybatisplus.extension.service.IService;
import top.ddandang.blog.model.vo.StatisticVo;

import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author D
 * @since 2020-06-23
 */
public interface StatisticsService extends IService<Statistics> {

    /**
     * 增加文章同时增加统计信息
     * @param articleId 文章Id
     */
    void insertStatistics(Integer articleId);

    /**
     * 增加统计信息（缓存）
     * @param articleId 文章id
     */
    void addRedisStatistics(Integer articleId);

    /**
     * 增加统计信息（缓存）评论数据
     * @param articleId 文章id
     */
    void addRedisStatisticsComment(Integer articleId);

    /**
     * 获取文章的统计数
     * @param articleId 文章id
     * @return 统计信息
     */
    Map<String, Object> getStatisticsByArticleId(Integer articleId);

    /**
     * 获取统计数据 用户人数 点击总数 和评论数 文章数
     * @return 数据
     */
    StatisticVo getTotalStatistics();

}
